With the growth of the Internet, the creation and distribution of video content has increased dramatically. The need to analyze and understand this content has likewise increased. For example, there is an increasing need to identify videos containing illegal material, violations of an artist's copyright, criminals, etc. To perform these detections, the video content must be processed and analyzed. Unfortunately, the sheer volume of video data and the difficulty of identifying relevant portions of the video data often thwart such attempts. In some cases, adequate tools may exist to perform an analysis, but the analysis is only tractable when performed on a handful of image frames. If the tools were applied to entire videos, it would take far too long to receive the results. Furthermore, some tools are more suitable in some contexts than others. When applied indiscriminately to videos of every quality and character these tools may return false positives or misdirect a suite of other analysis tools.
Accordingly, there exists a need for systems and methods to effectively decompose video into manageable units for analysis. Particularly, there is a need to effectively ascertain boundaries in video content, so that subsequently applied tools and analysis techniques may be more efficiently applied. Such tools are needed to remove duplicate videos retrieved from searches, mining the internal structure of video databases, perform automatic video tagging, performed automatic detection of copyright infringements, etc. The need exists for a system that overcomes the above problems, as well as one that provides additional benefits. Overall, the examples herein of some prior or related systems and their associated limitations are intended to be illustrative and not exclusive. Other limitations of existing or prior systems will become apparent to those of skill in the art upon reading the following Detailed Description.
Those skilled in the art will appreciate that the logic illustrated in each of the flow and sequence diagrams discussed herein may be altered in a variety of ways. For example, the order of the logic may be rearranged, sub-blocks may be performed in parallel, illustrated logic may be omitted, other logic may be included, etc. The depicted examples are provided in the depicted manner merely for purposes of explanation and for the convenience of the reader.